/* 
 * File:   main.cpp
 * Author: Vicky.H
 * Email:  eclipser@163.com
 */
#include <zmq.h>
#include <zmq_utils.h>
#include <assert.h>

/*
 * 
 */
int main(void) {
    void *ctx = zmq_ctx_new();
    assert(ctx);

    void *sock = zmq_socket(ctx, ZMQ_PUB);
    assert(sock);

    int rc = zmq_connect(sock, "tcp://localhost:1234");
    assert(rc == 0);

    rc = zmq_connect(sock, "tcp://localhost:invalid");
    assert(rc == -1);
    assert(errno == EINVAL);

    rc = zmq_connect(sock, "tcp://in val id:1234");
    assert(rc == -1);
    assert(errno == EINVAL);

    rc = zmq_connect(sock, "invalid://localhost:1234");
    assert(rc == -1);
    assert(errno == EPROTONOSUPPORT);

    rc = zmq_close(sock);
    assert(rc == 0);

    rc = zmq_ctx_term(ctx);
    assert(rc == 0);
    return 0;
}
